package com.bkgy.controller.tcoilslit.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class OptimizationDto {

    /**
     * 自增主键（起始值=1，步长=1），唯一标识分卷记录
     */
    private Long indocno;

    /**
     * 原卷号（上游系统提供的唯一物料标识）
     */
    private String entId;

    /**
     * 销售合同编号（格式示例：SO20250510-001）
     */
    private String orderNo;

    /**
     * 产线编码（取值范围：CAL1630/CAL2150/CGL1870/TCM2280）
     */
    private String productLine;

    /**
     * 订单允许的最小单件重量（单位：千克，精度0.01kg）
     */
    private BigDecimal orderUnitWTMin;

    /**
     * 订单允许的最大单件重量（单位：千克，精度0.01kg）
     */
    private BigDecimal orderUnitWTMax;

    /**
     * 入口材料重量（单位：吨，精度0.001吨=1kg）
     */
    private BigDecimal inMatWt;

    /**
     * 成材率（计算公式：(分卷重量*分卷数)/入口材料重量*100%）
     */
    private BigDecimal yieldRate;

    /**
     * 分卷数量（默认值1，取值范围1-32767）
     */
    private Integer slitNum;

    /**
     * 单卷分切重量（单位：吨，精度0.001吨=1kg）
     */
    private BigDecimal slitWeight;

    /**
     * 重量不符标识（0-正常，1-不符，需填写REASON字段）
     */
    private String wtMisMatchFlag;

    /**
     * 重量不符原因描述（当FLAG=1时必填）
     */
    private String reason;

    /**
     * 记录创建时间（自动获取系统时间）
     */
    private Date createTime;

    /**
     * 分切损耗重量（计算公式：入口材料重量 - (分卷数量*单卷分切重量)，单位：吨，精度0.001吨=1kg）
     */
    private BigDecimal lossWeight;

    /**
     * 钢种类型
     */
    private String steelGrade;

    /**
     * 入口材料厚度
     */
    private BigDecimal inMatThick;

    /**
     * 入口材料宽度
     */
    private BigDecimal inMatWidth;

    /**
     * 入口材料长度
     */
    private Integer inMatLen;

    /**
     * 出口卷长度
     */
    private Integer outMatLen;

    /**
     * 出口卷宽度
     */
    private BigDecimal outMatWidth;

    /**
     * 出口卷厚
     */
    private BigDecimal outMatThick;

    /**
     * 缺陷代码
     */
    private String defectCode;

    /**
     * 缺陷等级
     */
    private String defectClass;

    /**
     * 班组
     */
    private String crew;
}
